Vision is an important part of Xconq. Information need not come for free in your game design, and you can design the parameters to control how much players can get. The possibilities range from total knowledge as in board games, where nothing is secret except the enemy's heart, to games where much of the play hinges on who knows what, and when.
The simplest thing to do is to set see-all
to true
.
Then every player sees all the terrain, everybody's units, everybody's
occupants, the whole world and everything in it.
This makes Xconq like a conventional video or board game,
which is sometimes just what you want.
Also, since the view matches the world, the game is simpler for players,
who need not concern themselves with possibly out-of-date information.
Finally, see-all
is more efficient in time and space,
since the general visibility calculations need never be done or recorded.
Many games include see-all
as one of their variants.
You may also find see-all
to be a useful game debugging aid,
since you can watch what is happening everywhere in the world.
But, remember that any AIs will most likely adjust their strategy
and not bother with patrolling or guesswork about the enemy,
and you won't be able to debug the other viewing parameters either!
Still, much of the fun in Xconq is the potential for surprise. The theory of visibility in Xconq is that each side has a layer of coverage, which basically just counts the eyeballs looking at each cell. As your units move around, the coverage in each cell goes up and down. Any cell with a coverage of zero is not currently being viewed by any of the side's units.
The unit property see-always
is useful for units like towns,
which are unlikely to disappear secretly.
These two parameters apply recursively, so for instance a city could be
see-always
and see-occupants
,
while a building in the city is see-always
and not
see-occupants
, with the net effect that units
inside a city can be seen by everybody,
but not when they enter a building.
The initial view represents the knowledge assumed to have been gathered over the period of time preceding the game. Xconq lets you set a radius around each initial unit, within which the side knows everything. Also, any people on your side view both their cell and all the adjacent cells.
already-seen
should usually be true of things like cities,
independently of their see-always
setting.
The default vision range (vision-range
) is 1, which basically
means that a unit can see into adjacent cells but no further.
You can set this to higher values, which is useful
for tactical- and person-level games
with line-of-sight (LOS) rules [if they ever get implemented].
You can also set the vision range of a unit to 0, which means that it can only see things in its own cell. However, as a special case, when such a unit enters a new cell, Xconq will show the terrain of each adjacent cell, but not any units that might be present. This is so players can decide which way to move without having to plunge blindly into unknown terrain or do some sort of awkward "adjacent cell examination" action before moving. This only provides information about terrain and units that are seen if the terrain is seen.